\hypertarget{Image_8c}{
\section{Référence du fichier /home/radius/Documents/Rachid\_\-Licence/LIF7/LIF7\_\-TD1/module-\/image/src/Image.c}
\label{Image_8c}\index{/home/radius/Documents/Rachid\_\-Licence/LIF7/LIF7\_\-TD1/module-\/image/src/Image.c@{/home/radius/Documents/Rachid\_\-Licence/LIF7/LIF7\_\-TD1/module-\/image/src/Image.c}}
}


Fichier d'implémentation du module Image.  
{\ttfamily \#include \char`\"{}Image.h\char`\"{}}\par
{\ttfamily \#include \char`\"{}Pixel.h\char`\"{}}\par
\subsection*{Fonctions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{Image_8c_a6edbdf3bfe3beb4e44246a6c7985055c}{imInit} (\hyperlink{structsImage}{Image} $\ast$im, const int dimx, const int dimy)
\begin{DoxyCompactList}\small\item\em Initialise une image. \item\end{DoxyCompactList}\item 
void \hyperlink{Image_8c_a5931290abc22d365ae351381c594613f}{imLibere} (\hyperlink{structsImage}{Image} $\ast$im)
\begin{DoxyCompactList}\small\item\em Libère une image de la mémoire. \item\end{DoxyCompactList}\item 
\hyperlink{structsImage}{Image} $\ast$ \hyperlink{Image_8c_a13ab11befc99f60ea0a5255e22f7f2be}{imCreer} (const int dimx, const int dimy)
\begin{DoxyCompactList}\small\item\em Alloue dans le tas une structure Image puis l'initialise avec imInit. \item\end{DoxyCompactList}\item 
void \hyperlink{Image_8c_ae9d0336b23f7c615e57c4862714df90f}{imDetruire} (\hyperlink{structsImage}{Image} $\ast$im)
\begin{DoxyCompactList}\small\item\em Libere le tableau de pixel en appelant imLibere puis détruit la structure image. \item\end{DoxyCompactList}\item 
\hyperlink{structPixel}{Pixel} \hyperlink{Image_8c_a1cb04a46ed83be9a0c49b3b884c91d62}{getPix} (const \hyperlink{structsImage}{Image} $\ast$im, const int x, const int y)
\begin{DoxyCompactList}\small\item\em Récupère le pixel de coordonnée (x,y) en vérifiant leur validité. \item\end{DoxyCompactList}\item 
\hypertarget{Image_8c_ad239628e88372f488e18848112517521}{
void {\bfseries setPix} (\hyperlink{structsImage}{Image} $\ast$im, const int x, const int y, const \hyperlink{structPixel}{Pixel} $\ast$couleur)}
\label{Image_8c_ad239628e88372f488e18848112517521}

\item 
\hypertarget{Image_8c_aae7e2d32a1d4c4516a818d8a473c0a86}{
void {\bfseries imDessineRectangle} (\hyperlink{structsImage}{Image} $\ast$im, const int Xmin, const int Ymin, const int Xmax, const int Ymax, const \hyperlink{structPixel}{Pixel} $\ast$couleur)}
\label{Image_8c_aae7e2d32a1d4c4516a818d8a473c0a86}

\item 
\hypertarget{Image_8c_aa04f50f4353fee39ec6cfd7201ab0367}{
void {\bfseries imEffacer} (\hyperlink{structsImage}{Image} $\ast$im, const \hyperlink{structPixel}{Pixel} $\ast$couleur)}
\label{Image_8c_aa04f50f4353fee39ec6cfd7201ab0367}

\item 
void \hyperlink{Image_8c_a20b9ad35b6db7bd09d7452574d04dd50}{imSauver} (const \hyperlink{structsImage}{Image} $\ast$pIm, const char filename\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em sauvegarde une image au format .ppm. \item\end{DoxyCompactList}\item 
void \hyperlink{Image_8c_a0a1f0b9be4b910e1cfc2648cfa9e38fd}{imOuvrir} (\hyperlink{structsImage}{Image} $\ast$pIm, const char filename\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Ouvre une image au format .ppm. \item\end{DoxyCompactList}\item 
void \hyperlink{Image_8c_afadf8ab43119d304c72e201d0d95164d}{imPrintf} (const \hyperlink{structsImage}{Image} $\ast$pIm)
\begin{DoxyCompactList}\small\item\em sauvegarde une image au format .ppm. \item\end{DoxyCompactList}\item 
void \hyperlink{Image_8c_a4fdd00deba298ac07e0636bace7a0e61}{ImRegressionTest} (void)
\begin{DoxyCompactList}\small\item\em Teste toutes les fonctions du module image.h. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Description détaillée}
Fichier d'implémentation du module Image. \begin{DoxyAuthor}{Auteur}
Rachid Delory 
\end{DoxyAuthor}


\subsection{Documentation des fonctions}
\hypertarget{Image_8c_a1cb04a46ed83be9a0c49b3b884c91d62}{
\index{Image.c@{Image.c}!getPix@{getPix}}
\index{getPix@{getPix}!Image.c@{Image.c}}
\subsubsection[{getPix}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Pixel} getPix (const {\bf Image} $\ast$ {\em im}, \/  const int {\em x}, \/  const int {\em y})}}
\label{Image_8c_a1cb04a46ed83be9a0c49b3b884c91d62}


Récupère le pixel de coordonnée (x,y) en vérifiant leur validité. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em im}]Pointeur vers l'image. \item[\mbox{$\leftarrow$} {\em X}]coordonnée x du pixel à Récupèrer. \item[\mbox{$\leftarrow$} {\em Y}]coordonnée y du pixel à Récupèrer. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
la valeur du pixel demandé. 
\end{DoxyReturn}
\hypertarget{Image_8c_a13ab11befc99f60ea0a5255e22f7f2be}{
\index{Image.c@{Image.c}!imCreer@{imCreer}}
\index{imCreer@{imCreer}!Image.c@{Image.c}}
\subsubsection[{imCreer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Image} $\ast$ imCreer (const int {\em dimx}, \/  const int {\em dimy})}}
\label{Image_8c_a13ab11befc99f60ea0a5255e22f7f2be}


Alloue dans le tas une structure Image puis l'initialise avec imInit. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftarrow$} {\em dimX}]Largeur de l'image. \item[\mbox{$\leftarrow$} {\em dimY}]Hauteur de l'image. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
Un pointeur sur Image. 
\end{DoxyReturn}
\hypertarget{Image_8c_ae9d0336b23f7c615e57c4862714df90f}{
\index{Image.c@{Image.c}!imDetruire@{imDetruire}}
\index{imDetruire@{imDetruire}!Image.c@{Image.c}}
\subsubsection[{imDetruire}]{\setlength{\rightskip}{0pt plus 5cm}void imDetruire ({\bf Image} $\ast$ {\em im})}}
\label{Image_8c_ae9d0336b23f7c615e57c4862714df90f}


Libere le tableau de pixel en appelant imLibere puis détruit la structure image. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em im}]Pointeur vers l'image à detruir. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK 
\end{DoxyReturn}
\hypertarget{Image_8c_a6edbdf3bfe3beb4e44246a6c7985055c}{
\index{Image.c@{Image.c}!imInit@{imInit}}
\index{imInit@{imInit}!Image.c@{Image.c}}
\subsubsection[{imInit}]{\setlength{\rightskip}{0pt plus 5cm}void imInit ({\bf Image} $\ast$ {\em im}, \/  const int {\em dimx}, \/  const int {\em dimy})}}
\label{Image_8c_a6edbdf3bfe3beb4e44246a6c7985055c}


Initialise une image. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em im}]Pointeur vers l'image à initialiser. \item[\mbox{$\leftarrow$} {\em dimX}]Largeur de l'image. \item[\mbox{$\leftarrow$} {\em dimY}]Hauteur de l'image. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK 
\end{DoxyReturn}
\hypertarget{Image_8c_a5931290abc22d365ae351381c594613f}{
\index{Image.c@{Image.c}!imLibere@{imLibere}}
\index{imLibere@{imLibere}!Image.c@{Image.c}}
\subsubsection[{imLibere}]{\setlength{\rightskip}{0pt plus 5cm}void imLibere ({\bf Image} $\ast$ {\em im})}}
\label{Image_8c_a5931290abc22d365ae351381c594613f}


Libère une image de la mémoire. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em im}]Pointeur vers l'image à libérer. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK 
\end{DoxyReturn}
\hypertarget{Image_8c_a0a1f0b9be4b910e1cfc2648cfa9e38fd}{
\index{Image.c@{Image.c}!imOuvrir@{imOuvrir}}
\index{imOuvrir@{imOuvrir}!Image.c@{Image.c}}
\subsubsection[{imOuvrir}]{\setlength{\rightskip}{0pt plus 5cm}void imOuvrir ({\bf Image} $\ast$ {\em pIm}, \/  const char {\em filename}\mbox{[}$\,$\mbox{]})}}
\label{Image_8c_a0a1f0b9be4b910e1cfc2648cfa9e38fd}


Ouvre une image au format .ppm. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em pIm}]Pointeur vers l'image. \item[\mbox{$\leftarrow$} {\em filename}]fichier à ouvrir au format .ppm. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK. 
\end{DoxyReturn}
\hypertarget{Image_8c_afadf8ab43119d304c72e201d0d95164d}{
\index{Image.c@{Image.c}!imPrintf@{imPrintf}}
\index{imPrintf@{imPrintf}!Image.c@{Image.c}}
\subsubsection[{imPrintf}]{\setlength{\rightskip}{0pt plus 5cm}void imPrintf (const {\bf Image} $\ast$ {\em pIm})}}
\label{Image_8c_afadf8ab43119d304c72e201d0d95164d}


sauvegarde une image au format .ppm. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em pIm}]Pointeur vers l'image à imprimer. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK. 
\end{DoxyReturn}
\hypertarget{Image_8c_a4fdd00deba298ac07e0636bace7a0e61}{
\index{Image.c@{Image.c}!ImRegressionTest@{ImRegressionTest}}
\index{ImRegressionTest@{ImRegressionTest}!Image.c@{Image.c}}
\subsubsection[{ImRegressionTest}]{\setlength{\rightskip}{0pt plus 5cm}void ImRegressionTest (void)}}
\label{Image_8c_a4fdd00deba298ac07e0636bace7a0e61}


Teste toutes les fonctions du module image.h. Teste toutes les fonctions du module \hyperlink{Pixel_8h}{Pixel.h}.

\begin{DoxyReturn}{Renvoie}
0 si tout est OK 
\end{DoxyReturn}
\hypertarget{Image_8c_a20b9ad35b6db7bd09d7452574d04dd50}{
\index{Image.c@{Image.c}!imSauver@{imSauver}}
\index{imSauver@{imSauver}!Image.c@{Image.c}}
\subsubsection[{imSauver}]{\setlength{\rightskip}{0pt plus 5cm}void imSauver (const {\bf Image} $\ast$ {\em pIm}, \/  const char {\em filename}\mbox{[}$\,$\mbox{]})}}
\label{Image_8c_a20b9ad35b6db7bd09d7452574d04dd50}


sauvegarde une image au format .ppm. 
\begin{DoxyParams}{Paramètres}
\item[\mbox{$\leftrightarrow$} {\em pIm}]Pointeur vers l'image. \item[\mbox{$\leftarrow$} {\em filename}]fichier à sauver. \end{DoxyParams}
\begin{DoxyReturn}{Renvoie}
0 si tout est OK. 
\end{DoxyReturn}
